import path from 'path';
import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import babel from '@rollup/plugin-babel';
import { terser } from 'rollup-plugin-terser';
import json from '@rollup/plugin-json'
import del from 'rollup-plugin-delete'
export default {
  input: 'index.js', // 入口文件
  output: [
    {
      file: 'dist/bundle.cjs.js', // 输出的 CommonJS 格式文件
      format: 'cjs'
    },
    {
      file: 'dist/bundle.esm.js', // 输出的 ES 模块格式文件
      format: 'esm'
    }
  ],
  plugins: [
    del({
      targets: 'dist/*'
    }),
    resolve(), // 让 Rollup 能解析 node_modules 中的模块
    commonjs(),// 转换 CommonJS 模块为 ES6 模块
    json(), // 解析 JSON 文件
    babel({
      babelHelpers: 'bundled', // 使用内联 Babel helper
      presets: ['@babel/preset-env']
    }),
    terser() // 压缩代码
  ],
  external: [
    'chalk', 'inquirer', 'figlet', 'nanospinner', 'obtain-git-repo', 'path', 'url', 'fs', 'fs/promises'
  ] // 标记外部依赖，防止被打包到最终的代码中
};
